package rn;

import java.util.List;

/**
 *
 * @author igor
 */
public class Texto {

    private List<String> listaPalavras;
    private int indicePalavraCorrente;

    public Texto(List<String> listaPalavras) {
        this.listaPalavras = listaPalavras;
        indicePalavraCorrente = 0;
    }

    // <editor-fold defaultstate="collapsed" desc="Métodos públicos">
    public void avancaPalavra() {

        /** Seleciona a palavra seguinte do texto como palavra corrente */
        if (getIndicePalavraCorrente() < getListaPalavras().size() - 1) {
            setIndicePalavraCorrente(getIndicePalavraCorrente() + 1);
        }
    }

    public String getPalavraCorrente() {
        if (getIndicePalavraCorrente() != getListaPalavras().size()) {
            return getListaPalavras().get(getIndicePalavraCorrente());
        } else {
            return getPalavraAnterior();
        }

    }

    public String getPalavraAnterior() {
        if (getIndicePalavraCorrente() != 0) {
            return getListaPalavras().get(getIndicePalavraCorrente() - 1);
        }
        return "";
    }

    public int getNCaracteres() {
        int nCaracteres = 0;
        for (String string : listaPalavras) {
            nCaracteres = nCaracteres + string.length();
        }
        return nCaracteres;
    }
    //</editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Getters e setters">
    public int getIndicePalavraCorrente() {
        return indicePalavraCorrente;
    }

    public void setIndicePalavraCorrente(int palavraCorrente) {
        this.indicePalavraCorrente = palavraCorrente;
    }

    public List<String> getListaPalavras() {
        return listaPalavras;
    }

    public void setListaPalavras(List<String> listaPalavras) {
        this.listaPalavras = listaPalavras;
    }
    //</editor-fold>
}